public class HelloWorld {
    //psvm m main

    public static void main(String[] args) {
        byte a = 10;
        byte b = 20;
        byte c = (byte)(a+b);//小于四个字节的在运算的时候，会自动提升为4个字节


        short a1 = 128;
        byte b1 =(byte) a1;
        System.out.println(a1);
        System.out.println(b1);
        //编译器会帮你检查，如果字面值的范围内
    }

    public static void main9(String[] args) {
        int a = 10;
        long b = 20L;
        int c = (int)(a + b);
        long d = a + b;

        /*a = (int)b;//强制类型转换:不一定安全
        System.out.println(a);
        System.out.println(b);*/
    }

    public static void main8(String[] args) {
        //在java中  真只有一个true  假只有一个false
        //在JVM中boolean 没有明确的大小

        boolean flg = true;
        System.out.println(flg);
    }

    public static void main7(String[] args) {
        //字符类型  是2个字节  16bit  不能赋值 负数
        char ch = 'a';
        System.out.println(ch);
        char ch2 = '每';//汉字两个字节
        System.out.println(ch2);


    }

    public static void main6(String[] args) {
        float f = 12.5f;
        System.out.println(f);
    }

    public static void main5(String[] args) {
        double num = 1.1;
        System.out.println(num*num);
        //小数其实没有精确的 只能说 精确到某一位上

        //8个字节
        /*double d = 12.5;
        System.out.println(d);
        System.out.printf("%.2f\n",d);
        System.out.printf("%f",d);*/
    }

    public static void main4(String[] args) {
        //1字节  8个bite
        byte a = 10;
        System.out.println(a);
        System.out.println(Byte.MAX_VALUE);
        System.out.println(Byte.MIN_VALUE);

    }


    public static void main3(String[] args) {
      //2个字节  16bit

        short sh = 10;
        System.out.println(sh);
        System.out.println(Short.MAX_VALUE);
        System.out.println(Short.MIN_VALUE);
    }


    public static void main2(String[] args) {
        //8 个字节
        long a = 10;
        System.out.println(a);


        System.out.println(Long.MAX_VALUE);
        System.out.println(Long.MIN_VALUE);
    }


    public static void main1(String[] args) {
        //final int a = 10;
        /*
        8种数据类型
        * byte  字节类型
        * short 短整型
        * int 整型
        * long 长整型
        * float  单精度浮点型
        * double  双精度浮点型
        * char  字符型
        * boolean 布尔类型
        * */
        //sout

        //数据类型   变量 = 赋值   变量可以在运行的过程中可以变化的量
        /*
        1.a是整形变量  此时a 占4个字节 32位
        字节 --> bit byte kb mb gb tb pb
        在java中，没有所谓的 无符号 和 有符号 这样的概念

         */
        int a = 10;
        System.out.println(a);

        //Integer:包装类  int 的 plus版本
        //包装类是数据类型对应的 类类型--
        //是基本数据类型的加大版本
        System.out.println(Integer.MAX_VALUE);
        System.out.println(Integer.MIN_VALUE);
    }
}
